From: Ian Campbell Date: Tue, 26 Jun 2012 15:23:43 +0000 (+0100) Subject: arm: allocate top level p2m page for all non-idle domains X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8305 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=0492e024e6aeea5c5e48ebd0ad2bedc3b425d949;p=xen.git arm: allocate top level p2m page for all non-idle domains Not just dom0. Signed-off-by: Ian Campbell Acked-by: Tim Deegan Committed-by: Ian Campbell --- diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 570239945f..4b3879078e 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -201,6 +201,9 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags) clear_page(d->shared_info); share_xen_page_with_guest( virt_to_page(d->shared_info), d, XENSHARE_writable); + + if ( (rc = p2m_alloc_table(d)) != 0 ) + goto fail; } d->max_vcpus = 8; diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 051a0e89dd..4f624d8a67 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -203,7 +203,7 @@ int p2m_alloc_table(struct domain *d) void *p; /* First level P2M is 2 consecutive pages */ - page = alloc_domheap_pages(d, 1, 0); + page = alloc_domheap_pages(NULL, 1, 0); if ( page == NULL ) return -ENOMEM;